package com.vegetable.modules.entity.finance.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="银行流水对象", description="银行流水对象")
public class TransactionsPO {
    @ApiModelProperty("主键id")
    @JsonSerialize(using = ToStringSerializer.class)
    @TableId(value = "id", type = IdType.AUTO)
    private String id;
    @ApiModelProperty("交易唯一ID")
    private String tradingNo;
    @ApiModelProperty("商户订单号")
    private String orderNo;
    @ApiModelProperty("交易时间")
    private String tradingTime;
    @ApiModelProperty("交易金额")
    private String tradingAmount;
    @ApiModelProperty("手续费")
    private String fee;
    @ApiModelProperty("交易类型 'INCOME','EXPENSE','REFUND'")
    private String tradingType;
    @ApiModelProperty("交易状态 'SUCCESS','FAILED','PROCESSING'")
    private String status;
    @ApiModelProperty("支付渠道 'WECHAT','ALIPAY','BANK'")
    private String channel;
    @ApiModelProperty("银行名称")
    private String bankName;
    @ApiModelProperty("商户ID")
    private String merchantId;
    @ApiModelProperty("交易对手方")
    private String counterparty;
    @ApiModelProperty("交易描述")
    private String tradingDescription;
    @ApiModelProperty("原始数据")
    private String rawData;
    @ApiModelProperty("关联账户id")
    private String fundAccountId;
}
